bitkeeper revision 1.1159.258.87 (424d8879K9lhGxxSZd9bVE9LZZ2YDw)
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 1 Apr 2005 17:44:25 +0000 (17:44 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 1 Apr 2005 17:44:25 +0000 (17:44 +0000)
Fix page scrubbing when fewer than 16 pages remain in the scrub list.
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/common/page_alloc.c

index b143eba8bc8c7a2fffc259bb993c1c774c0c2649..dc5b70c8438a35eafbab6ca4ceb47e2985b9b12b 100644 (file)
@@ -651,8 +651,11 @@ static void page_scrub_softirq(void)
         
         /* Peel up to 16 pages from the list. */
         for ( i = 0; i < 16; i++ )
-            if ( (ent = ent->next) == &page_scrub_list )
+        {
+            if ( ent->next == &page_scrub_list )
                 break;
+            ent = ent->next;
+        }
         
         /* Remove peeled pages from the list. */
         ent->next->prev = &page_scrub_list;